import {
   ruleList,
   rulePage,
   ruleAdd,
   ruleUpdate,
   ruleDelete
} from '@/api/sys.rule'
export default {
    namespaced: true,
    //数据保存在State中
    state: {
        menu: []
    },
    //对于后台的请求放在actions中
    actions: {
        getRuleList() {
            return new Promise((resolve, reject) => {
                 //判断本地的state变量中是否已经有数据,如果没有,向服务器请求
               ruleList().then(
                    res => {
                        resolve(res)
                    }
                )
            })
        },
        //context 对象是vuex框架自己放入到第一个参数,界面上调用时传入的参数,需要放入第二个参数
        getRulePage(context, data) {
            return new Promise((resolve, reject) => {
               rulePage(data).then(
                    res => {
                        resolve(res)
                    }
                )
            })
        },
        addrule(context, data) {
            return new Promise((resolve, reject) => {
                console.log('addrule')
                console.log(data)
               ruleAdd(data).then(
                    resolve()
                )
            })
        },

        updaterule(context, data) {
            return new Promise((resolve, reject) => {
                console.log('updaterule')
                console.log(data)
               ruleUpdate(data).then(
                    resolve()
                )
            })
        },

        deleterule(context, id) {
            return new Promise((resolve, reject) => {
               ruleDelete(id).then(
                    resolve()
                )
            })
        }
    }
}




// import {
//     ruleList
// } from '@/api/sys.rule'
// export default {
//     namespaced: true,
//     state: {
//     //前端缓存数据  跨页面的  但是刷新页面，缓存数据消失  
//         ruleList: []
//     },
//     actions: {
//         getRuleList({ //把getRuleList中的state单拿出来
//             state
//         }) {
//             return new Promise((resolve, reject) => {
//                 //判断本地的state(缓存)中ruleList这个数组的长度是否为0,如果为0说明ruleList(缓存)中没有数据,然后去后台请求数据
//                 if (state.ruleList.length == 0) {
//                     ruleList().then(
//                         res => {
//                             console.log('向服务器请求角色列表')
//                             //把向服务器请求到的数据,保存一份在state中
//                             state.ruleList = res
//                             resolve(res)
//                         }
//                     )
//                 } else {
//                     console.log('state中已经存在角色列表,直接返回,没有请求服务器')
//                     //ruleList中已经有数据了,直接返回数据即可
//                     resolve(state.ruleList)
//                 }

//             })
//         },
//         addRule(ruleInfo) {

//         },
//         updateRule(ruleInfo) {

//         }
//     }
// }